package cn.huiyunche.base.service.interfaces;

import cn.huiyunche.base.service.form.ScPriceconfFreightVlidateLogForm;
import cn.huiyunche.base.service.model.ScPriceconfFreightValidateLog;
import cn.huiyunche.base.service.query.ScPriceconfFreightValidateQueryConditions;
import cn.huiyunche.base.service.vo.PageVo;
import cn.huiyunche.base.service.vo.ScPriceconfFreightValidateLogVo;
import org.springframework.validation.BindingResult;

import java.util.List;
import java.util.Map;

/**
 * Created by Administrator on 2017/5/8.
 */
public interface LaborPriceImportService {
    /**
     * 劳务价格批量导入临时表
     * @param
     * @throws Exception
     */
    void importExcel(List<ScPriceconfFreightValidateLogVo> list , String batchId) throws Exception;

    /**
     * 校验数据
     * @throws Exception
     */
    void checkData(String batchId) throws Exception;

    /**
     * 导入正式表
     * @throws Exception
     */
    void importFreightAndMile(String batchId) throws Exception;

    /**
     * 批量更新失效日期
     * @throws Exception
     */
    void checkInvalidDate() throws Exception;

    /**
     * Select list by conditions map.
     *
     * @param pageVo     the page vo
     * @param conditions the conditions
     * @return the map
     * @throws Exception the exception
     */
    Map<String, Object> selectListByConditions(PageVo pageVo, ScPriceconfFreightValidateQueryConditions conditions) throws Exception;

    /**
     * Select by primary key sc priceconf freight validate log.
     *
     * @param id the id
     * @return the sc priceconf freight
     * @throws Exception the exception
     */
    ScPriceconfFreightValidateLog selectByPrimaryKey(Integer id) throws Exception;

    /**
     * Update.
     *
     * @param form the form
     * @param br   the br
     * @throws Exception the exception
     */
    void update(ScPriceconfFreightVlidateLogForm form, BindingResult br) throws Exception;

    /**
     * Del.
     *
     * @param id the id
     * @throws Exception the exception
     */
    void del(Integer id) throws Exception;

    /**
     * Delete.
     *
     * @param
     * @throws Exception the exception
     */
    void deleteAll() throws Exception;

    /**
     * Delete.
     *
     * @param
     * @throws Exception the exception
     */
    void delete() throws Exception;
}
